
package md.sv.dbu.config.jaxb;

import java.math.BigInteger;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;


/**
 * <p>Java class for sendTaskType complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="sendTaskType">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;all>
 *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="mqConfig" type="{http://dbu-namespace.md}mqConfigType" minOccurs="0"/>
 *         &lt;element name="dbLogger" type="{http://dbu-namespace.md}dbLoggerType"/>
 *         &lt;element name="fileLogger" type="{http://dbu-namespace.md}fileLoggerType"/>
 *       &lt;/all>
 *       &lt;attribute name="database" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       &lt;attribute name="execute" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 *       &lt;attribute name="maxMessageSend" type="{http://www.w3.org/2001/XMLSchema}integer" default="1" />
 *       &lt;attribute name="repeatCount" type="{http://www.w3.org/2001/XMLSchema}integer" default="0" />
 *       &lt;attribute name="timeoutCount" type="{http://www.w3.org/2001/XMLSchema}integer" default="0" />
 *       &lt;attribute name="sendOnError" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
 *       &lt;attribute name="validate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 *       &lt;attribute name="templateFile" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       &lt;attribute name="configFile" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       &lt;attribute name="validateFile" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       &lt;attribute name="newIdVariableName" type="{http://www.w3.org/2001/XMLSchema}string" default="NEW_DOCUMENT_ID" />
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "sendTaskType", namespace = "http://dbu-namespace.md", propOrder = {

})
public class SendTaskType {

    @XmlElement(namespace = "http://dbu-namespace.md", required = true)
    protected String description;
    @XmlElement(namespace = "http://dbu-namespace.md")
    protected MqConfigType mqConfig;
    @XmlElement(namespace = "http://dbu-namespace.md", required = true)
    protected DbLoggerType dbLogger;
    @XmlElement(namespace = "http://dbu-namespace.md", required = true)
    protected FileLoggerType fileLogger;
    @XmlAttribute(required = true)
    protected String database;
    @XmlAttribute
    protected Boolean execute;
    @XmlAttribute
    protected BigInteger maxMessageSend;
    @XmlAttribute
    protected BigInteger repeatCount;
    @XmlAttribute
    protected BigInteger timeoutCount;
    @XmlAttribute
    protected Boolean sendOnError;
    @XmlAttribute
    protected Boolean validate;
    @XmlAttribute(required = true)
    protected String templateFile;
    @XmlAttribute(required = true)
    protected String configFile;
    @XmlAttribute(required = true)
    protected String validateFile;
    @XmlAttribute
    protected String newIdVariableName;

    /**
     * Gets the value of the description property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDescription() {
        return description;
    }

    /**
     * Sets the value of the description property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDescription(String value) {
        this.description = value;
    }

    /**
     * Gets the value of the mqConfig property.
     * 
     * @return
     *     possible object is
     *     {@link MqConfigType }
     *     
     */
    public MqConfigType getMqConfig() {
        return mqConfig;
    }

    /**
     * Sets the value of the mqConfig property.
     * 
     * @param value
     *     allowed object is
     *     {@link MqConfigType }
     *     
     */
    public void setMqConfig(MqConfigType value) {
        this.mqConfig = value;
    }

    /**
     * Gets the value of the dbLogger property.
     * 
     * @return
     *     possible object is
     *     {@link DbLoggerType }
     *     
     */
    public DbLoggerType getDbLogger() {
        return dbLogger;
    }

    /**
     * Sets the value of the dbLogger property.
     * 
     * @param value
     *     allowed object is
     *     {@link DbLoggerType }
     *     
     */
    public void setDbLogger(DbLoggerType value) {
        this.dbLogger = value;
    }

    /**
     * Gets the value of the fileLogger property.
     * 
     * @return
     *     possible object is
     *     {@link FileLoggerType }
     *     
     */
    public FileLoggerType getFileLogger() {
        return fileLogger;
    }

    /**
     * Sets the value of the fileLogger property.
     * 
     * @param value
     *     allowed object is
     *     {@link FileLoggerType }
     *     
     */
    public void setFileLogger(FileLoggerType value) {
        this.fileLogger = value;
    }

    /**
     * Gets the value of the database property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDatabase() {
        return database;
    }

    /**
     * Sets the value of the database property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDatabase(String value) {
        this.database = value;
    }

    /**
     * Gets the value of the execute property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public boolean isExecute() {
        if (execute == null) {
            return true;
        } else {
            return execute;
        }
    }

    /**
     * Sets the value of the execute property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setExecute(Boolean value) {
        this.execute = value;
    }

    /**
     * Gets the value of the maxMessageSend property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getMaxMessageSend() {
        if (maxMessageSend == null) {
            return new BigInteger("1");
        } else {
            return maxMessageSend;
        }
    }

    /**
     * Sets the value of the maxMessageSend property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setMaxMessageSend(BigInteger value) {
        this.maxMessageSend = value;
    }

    /**
     * Gets the value of the repeatCount property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getRepeatCount() {
        if (repeatCount == null) {
            return new BigInteger("0");
        } else {
            return repeatCount;
        }
    }

    /**
     * Sets the value of the repeatCount property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setRepeatCount(BigInteger value) {
        this.repeatCount = value;
    }

    /**
     * Gets the value of the timeoutCount property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTimeoutCount() {
        if (timeoutCount == null) {
            return new BigInteger("0");
        } else {
            return timeoutCount;
        }
    }

    /**
     * Sets the value of the timeoutCount property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTimeoutCount(BigInteger value) {
        this.timeoutCount = value;
    }

    /**
     * Gets the value of the sendOnError property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public boolean isSendOnError() {
        if (sendOnError == null) {
            return false;
        } else {
            return sendOnError;
        }
    }

    /**
     * Sets the value of the sendOnError property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setSendOnError(Boolean value) {
        this.sendOnError = value;
    }

    /**
     * Gets the value of the validate property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public boolean isValidate() {
        if (validate == null) {
            return true;
        } else {
            return validate;
        }
    }

    /**
     * Sets the value of the validate property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setValidate(Boolean value) {
        this.validate = value;
    }

    /**
     * Gets the value of the templateFile property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTemplateFile() {
        return templateFile;
    }

    /**
     * Sets the value of the templateFile property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setTemplateFile(String value) {
        this.templateFile = value;
    }

    /**
     * Gets the value of the configFile property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getConfigFile() {
        return configFile;
    }

    /**
     * Sets the value of the configFile property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setConfigFile(String value) {
        this.configFile = value;
    }

    /**
     * Gets the value of the validateFile property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getValidateFile() {
        return validateFile;
    }

    /**
     * Sets the value of the validateFile property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setValidateFile(String value) {
        this.validateFile = value;
    }

    /**
     * Gets the value of the newIdVariableName property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getNewIdVariableName() {
        if (newIdVariableName == null) {
            return "NEW_DOCUMENT_ID";
        } else {
            return newIdVariableName;
        }
    }

    /**
     * Sets the value of the newIdVariableName property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setNewIdVariableName(String value) {
        this.newIdVariableName = value;
    }

}
